@blockSize: 28px;
@puzzleWidth: 10p;
@puzzleHeight: 18;
@sidebarLeft: @blockSize * @puzzleWidth + 10px;
@sidebarWidth: @blockSize * 4;
@darkBackground: #666;
body {
    margin: 10px;
    padding: 0;
    position: relative;
}

.puzzle {
    border: 1px solid @darkBackground;
    width: @blockSize * @puzzleWidth;
    height: @blockSize * @puzzleHeight;
    box-sizing: content-box;
    .row {
        margin: 0;
        padding: 0;
        height: @blockSize;
        box-sizing: content-box;
        .block {
            margin: 0;
            padding: 0;
            display: inline-block;
            background: @darkBackground;
            width: @blockSize;
            height: @blockSize;
            border: 1px solid @darkBackground;
            box-sizing: border-box;
            &.c0 {
                background-color: rgb(255, 255, 255);
            }
            &.c1 {
                background-color: rgb(206, 145, 120);
            }
            &.c2 {
                background-color: rgb(215, 186, 125);
            }
            &.c3 {
                background-color: rgb(116, 216, 254);
            }
            &.c4 {
                background-color: rgb(206, 124, 133);
            }
            &.c5 {
                background-color: rgb(197, 134, 192);
            }
            &.c6 {
                background-color: rgb(176, 206, 163);
            }
        }
    }
}

.preview {
    .puzzle();
    position: absolute;
    left: @sidebarLeft;
    width: @sidebarWidth;
    height: @sidebarWidth;
}

.info {
    position: absolute;
    left: @sidebarLeft;
    width: @sidebarWidth;
    top: @blockSize * 5;
    label {
        display: block;
        font-size: 0.8rem;
    }
    .value {
        box-sizing: border-box;
        display: block;
        width: 100%;
        font-family: 'Source Code Pro', 'Lucida Sans', 'Lucida Sans Unicode', Geneva, Verdana, sans-serif;
        font-size: 0.8rem;
        text-align: right;
        color: white;
        background-color: @darkBackground;
        border: 1px solid darken(@darkBackground, 10%);
        padding: 4px 5px;
        margin-top: 2px;
        margin-bottom: 10px;
    }
}

.command-panel {
    position: absolute;
    left: @sidebarLeft;
    width: @sidebarWidth;
    top: @blockSize * @puzzleHeight - 58px;
    >div {
        cursor: pointer;
        font-size: 0.8rem;
        display: block;
        width: 100%;
        height: 28px;
        margin-top: 2px;
        text-align: center;
        line-height: 28px;
        color: white;
        background-color: @darkBackground;
        border: 1px solid lighten(@darkBackground, 20%);
    }
}